#ifndef __MENU_H
#define __MENU_H

#include "headfile.h"
#define OLED_WIDTH 128   // OLED屏幕宽度（像素）
// 一级菜单项
typedef enum {
    MENU_VOICE = 1,
    MENU_MY,
    MENU_SETTINGS,
    MENU_TOTAL
} MenuItem;
#define MENU_COUNT (MENU_TOTAL - 1)

// 二级菜单项-我的
typedef enum {
    MYBACK = 0, 
		SETTING,
		PRE,
    PLAY,
		NEXT,
		MYITEM_TOTAL
} MYItem;

// 二级菜单项-系统设置
typedef enum {
    SUBMENU_BACK = 0,    // 必须保持为第一个选项
    SUBMENU_DISPLAY,
    Test_Mode,
    SUBMENU_STORAGE
} SubMenuItem;

//三级菜单项 我的>设置>音量/播放模式
typedef enum {
	MYSET_BACK = 0,
	VOLUME,
	PLAY_MODE,
}MY_SET_ITEM;

//三级菜单项 我的>设置>播放模式
typedef enum {
	PALY_MODE_BACK = 0,
	Loop,     // 循环  
  Repeat,   // 重复  
  Random    // 随机  
}PLAY_MODE_ITEM;

/* 三级菜单项 系统设置>显示设置>亮度等级/显示模式 */
typedef enum {
		DISPLAY_SET_BACK = 0,
    DISPLAY_SET_BRIGHTNESS,
    DISPLAY_SET_MODE
} DisplaySettingsItem;

MenuItem menu1(void);
/* 我的入口函数 */
static MY_SET_ITEM MY_SETTING(void);// 三级菜单：我的>设置>音量/播放模式
static uint8_t VOL_SET(void);
static MY_SET_ITEM Test_mode(void);
static PLAY_MODE_ITEM PLAYMODE(void);
/* 系统设置入口函数 */
typedef void (*BrightnessCallback)(void);   // 亮度调节回调
typedef void (*DisplayModeCallback)(void);  // 显示模式回调
extern void HandleBrightnessAdjust(void);   // 亮度调整函数声明
extern void HandleDisplayModeChange(void);  // 显示模式函数声明
static DisplaySettingsItem DisplaySettings(
    BrightnessCallback brightnessHandler,
    DisplayModeCallback modeHandler
);//三级菜单项 系统设置>显示设置>亮度等级/显示模式
void Draw(MenuItem item, int offset) ;
#endif
